//枚举(Enum)
//在开发过程中经常要用到某几个数值代表某种状态
export {}

// const PostStatus = {
//     Draft:0,
//     Unpublished:1,
//     Published:2
// }

// const post = {
//     title:'Hello TypeScript',
//     content:'TypeScript is a typed superset of JavaScript',
//     status:PostStatus.Draft
// }
//===================================
// enum PostStatus {
//     Draft = 0,
//     Unpublished = 1,
//     Published=2
// }

// enum PostStatus {//若是不赋值的话则从0开始累加，若是第一个枚举值赋了值，则后续的在第一个基础之上累加
//     Draft = 6,
//     Unpublished,
//     Published
// }

// enum PostStatus {//除了是数字以外还可以是字符串,需要给每一个枚举值赋予字符串值
//     Draft = 'aaa',
//     Unpublished = 'bbb',
//     Published ='ccc'
// }

// enum PostStatus {//枚举类型它会入侵到我们运行时的代码，它会影响我们编译后的结果，它最终会编译为双向的键值对对象，就是可以通过键取值，也可以通过值获取键
//     Draft,
//     Unpublished,
//     Published
// }

const enum PostStatus {//若代码当中不会使用索引器的方式去访问枚举则建议使用这个常量枚举
    Draft,
    Unpublished,
    Published
}
// PostStatus[0] // =>Draft
const post = {
    title:'Hello TypeScript',
    content:'TypeScript is a typed superset of JavaScript',
    status:PostStatus.Draft
}
